Books-Lib.com » Читать книги » Разная литература » Многопоточное программирование в Java - Тимур Машнин

Читать книгу - "Многопоточное программирование в Java - Тимур Машнин"

Многопоточное программирование в Java - Тимур Машнин - Читать книги онлайн | Слушать аудиокниги онлайн | Электронная библиотека books-lib.com

Открой для себя врата в удивительный мир Читать книги / Разная литература книг на сайте books-lib.com! Здесь, в самой лучшей библиотеке мира, ты найдешь сокровища слова и истории, которые творят чудеса. Возьми свой любимый гаджет (Смартфоны, Планшеты, Ноутбуки, Компьютеры, Электронные книги (e-book readers), Другие поддерживаемые устройства) и погрузись в магию чтения книги 'Многопоточное программирование в Java - Тимур Машнин' автора Тимур Машнин прямо сейчас – дарим тебе возможность читать онлайн бесплатно и неограниченно!

228 0 10:00, 03-01-2023
Автор:Тимур Машнин Жанр:Читать книги / Разная литература Поделиться: Возрастные ограничения:(18+) Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних просмотр данного контента СТРОГО ЗАПРЕЩЕН! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту для удаления материала.
0 0

Аннотация к книге "Многопоточное программирование в Java - Тимур Машнин", которую можно читать онлайн бесплатно без регистрации

В многопроцессорных системах многопоточность решает проблему параллельного выполнения кода с наименьшими затратами. Поэтому многопоточность используется в большинстве реальных приложений. И Java, как и большинство языков программирования, поддерживает многопоточность. Познакомьтесь с реализацией процессов и потоков в Java, с управлением и синхронизацией потоков. Узнайте о пуле потоков, потокобезопасных коллекциях, синхронизаторах и параллельных потоках Stream.

1 ... 6 7 8 9 10 11 12 13 14 15
Перейти на страницу:
которых издатели создают элементы данных, которые потребляются одним или несколькими подписчиками.

Это интерфейс Publisher — производитель элементов данных, получаемых подписчиками.

Интерфейс Subscriber — приемник элементов данных.

Интерфейс Subscription — связь между издателем и подписчиком.

И интерфейс Processor — комбинация Publisher и Subscriber для преобразования данных.

Издатель публикует поток данных для зарегистрированных подписчиков и реализует интерфейс Flow. Publisher.

Этот интерфейс объявляет единственный метод, который вызывается для регистрации подписчика у издателя.

Вызов этого метода регистрирует подписчика у издателя.

Однако, если подписчик уже зарегистрирован или регистрация терпит неудачу, этот метод вызывает метод onError подписчика с объектом IllegalStateException.

При удачной подписке вызывается метод onSubscribe подписчика с новым объектом Flow.Subscription.

Подписчик подписывается на издателя для получения элементов данных и реализует интерфейс Flow.Subscriber.

Этот интерфейс объявляет метод onSubscribe и три дополнительных метода.

Метод onSubscribe вызывается для подтверждения регистрации.

Он получает в качестве аргумента подписку, методы которой позволяют запрашивать новые элементы данных у издателя или запрашивать, чтобы издатель больше не отправлял элементы данных.

Метод onComplete вызывается, когда издатель закрывает подписку.

Метод onError вызывается при возникновении ошибки в процессе подписки.

Метод onNext вызывается, когда издатель публикует элемент данных.

Подписка обеспечивает связь между издателем и подписчиком, позволяя подписчикам получать данные только по запросу и позволяя отменить подписку в любое время.

Подписка реализует интерфейс Flow.Subscription, который объявляет два метода.

Метод request добавляет n элементов данных к текущему невыполненному требованию для этой подписки.

Если n меньше или равно 0, метод onError подписчика вызывается с аргументом IllegalArgumentException.

В противном случае подписчик получает до n дополнительных вызовов метода onNext.

Передача в качестве аргумента значения Long.MAX_VALUE указывает неограниченное количество вызовов.

Метод cancel отменяет подписку. Но дополнительные элементы данных могут быть получены после вызова метода cancel.

Наконец, процессор представляет собой функцию преобразования данных, которая работает в потоке.

Один или несколько процессоров могут быть размещены между издателем и подписчиком для преобразования одного потока данных в другой.

Класс SubmissionPublisher реализует интерфейс Flow. Publisher, асинхронно выдавая ненулевые элементы данных текущим подписчикам до тех пор, пока подписка не будет закрыта.

Каждый текущий подписчик получает вновь представленные элементы данных в том же порядке, что и их публикация, если они не будут утеряны или не будет выброшено исключение.

SubmissionPublisher предоставляет три конструктора для инициализации издателя.

Простейший конструктор без аргументов создает издателя, который использует метод ForkJoinPool.commonPool, чтобы обеспечить асинхронность, необходимую для доставки элементов данных подписчикам.

Здесь мы создаем объект SubmissionPublisher издателя и регистрируем для него подписчика MySubscriber.

Затем издатель в строковом потоке публикует элементы потока.

После чего издатель закрывает подписку.

Подписчик MySubscriber реализует интерфейс Subscriber.

В методе подписки onSubscribe он запрашивает элемент данных у издателя.

Когда издатель публикует элемент данных, вызывается метод onNext подписчика, в котором он запрашивает еще элемент данных у издателя.

1 ... 6 7 8 9 10 11 12 13 14 15
Перейти на страницу:
Отзывы - 0

Прочитали книгу? Предлагаем вам поделится своим впечатлением! Ваш отзыв будет полезен читателям, которые еще только собираются познакомиться с произведением.


Новые отзывы

  1. Гость Елена Гость Елена12 июнь 19:12 Потрясающий роман , очень интересно. Обожаю Анну Джейн спасибо 💗 Поклонник - Анна Джейн
  2. Гость Гость24 май 20:12 Супер! Читайте, не пожалеете Правила нежных предательств - Инга Максимовская
  3. Гость Наталья Гость Наталья21 май 03:36 Талантливо и интересно написано. И сюжет не банальный, и слог отличный. А самое главное -любовная линия без слащавости и тошнотного романтизма. Вторая попытка леди Тейл 2 - Мстислава Черная
  4. Гость Владимир Гость Владимир23 март 20:08 Динамичный и захватывающий военный роман, который мастерски сочетает драматизм событий и напряжённые боевые сцены, погружая в атмосферу героизма и мужества. Боевой сплав - Сергей Иванович Зверев
Все комметарии: